home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Fritz: All Fritz
/
All Fritz.zip
/
All Fritz
/
FILES
/
PROGMISC
/
PCSSP.LZH
/
PC-SSP.ZIP
/
STATCORR.ZIP
/
GDATA.FOR
< prev
next >
Wrap
Text File
|
1985-11-29
|
4KB
|
141 lines
C
C ..................................................................
C
C SUBROUTINE GDATA
C
C PURPOSE
C GENERATE INDEPENDENT VARIABLES UP TO THE M-TH POWER (THE
C HIGHEST DEGREE POLYNOMIAL SPECIFIED) AND COMPUTE MEANS,
C STANDARD DEVIATIONS, AND CORRELATION COEFFICIENTS. THIS
C SUBROUTINE IS NORMALLY CALLED BEFORE SUBROUTINES ORDER,
C MINV AND MULTR IN THE PERFORMANCE OF A POLYNOMIAL
C REGRESSION.
C
C USAGE
C CALL GDATA (N,M,X,XBAR,STD,D,SUMSQ)
C
C DESCRIPTION OF PARAMETERS
C N - NUMBER OF OBSERVATIONS.
C M - THE HIGHEST DEGREE POLYNOMIAL TO BE FITTED.
C X - INPUT MATRIX (N BY M+1) . WHEN THE SUBROUTINE IS
C CALLED, DATA FOR THE INDEPENDENT VARIABLE ARE
C STORED IN THE FIRST COLUMN OF MATRIX X, AND DATA FOR
C THE DEPENDENT VARIABLE ARE STORED IN THE LAST
C COLUMN OF THE MATRIX. UPON RETURNING TO THE
C CALLING ROUTINE, GENERATED POWERS OF THE INDEPENDENT
C VARIABLE ARE STORED IN COLUMNS 2 THROUGH M.
C XBAR - OUTPUT VECTOR OF LENGTH M+1 CONTAINING MEANS OF
C INDEPENDENT AND DEPENDENT VARIABLES.
C STD - OUTPUT VECTOR OF LENGTH M+1 CONTAINING STANDARD
C DEVIATIONS OF INDEPENDENT AND DEPENDENT VARIABLES.
C D - OUTPUT MATRIX (ONLY UPPER TRIANGULAR PORTION OF THE
C SYMMETRIC MATRIX OF M+1 BY M+1) CONTAINING CORRELA-
C TION COEFFICIENTS. (STORAGE MODE OF 1)
C SUMSQ - OUTPUT VECTOR OF LENGTH M+1 CONTAINING SUMS OF
C PRODUCTS OF DEVIATIONS FROM MEANS OF INDEPENDENT
C AND DEPENDENT VARIABLES.
C
C REMARKS
C N MUST BE GREATER THAN M+1.
C IF M IS EQUAL TO 5 OR GREATER, SINGLE PRECISION MAY NOT BE
C SUFFICIENT TO GIVE SATISFACTORY COMPUTATIONAL RESULTS.
C
C SUBROUTINES AND FUNCTION SUBPROGRAMS REQUIRED
C NONE
C
C METHOD
C REFER TO B. OSTLE, 'STATISTICS IN RESEARCH', THE IOWA STATE
C COLLEGE PRESS, 1954, CHAPTER 6.
C
C ..................................................................
C
SUBROUTINE GDATA (N,M,X,XBAR,STD,D,SUMSQ)
DIMENSION X(1),XBAR(1),STD(1),D(1),SUMSQ(1)
C
C ...............................................................
C
C IF A DOUBLE PRECISION VERSION OF THIS ROUTINE IS DESIRED, THE
C C IN COLUMN 1 SHOULD BE REMOVED FROM THE DOUBLE PRECISION
C STATEMENT WHICH FOLLOWS.
C
C DOUBLE PRECISION X,XBAR,STD,D,SUMSQ,T1,T2
C
C THE C MUST ALSO BE REMOVED FROM DOUBLE PRECISION STATEMENTS
C APPEARING IN OTHER ROUTINES USED IN CONJUNCTION WITH THIS
C ROUTINE.
C
C THE DOUBLE PRECISION VERSION OF THIS SUBROUTINE MUST ALSO
C CONTAIN DOUBLE PRECISION FORTRAN FUNCTIONS. SQRT AND ABS IN
C STATEMENT 180 MUST BE CHANGED TO DSQRT AND DABS.
C
C ...............................................................
C
C GENERATE INDEPENDENT VARIABLES
C
IF(M-1) 105, 105, 90
90 L1=0
DO 100 I=2,M
L1=L1+N
DO 100 J=1,N
L=L1+J
K=L-N
100 X(L)=X(K)*X(J)
C
C CALCULATE MEANS
C
105 MM=M+1
DF=N
L=0
DO 115 I=1,MM
XBAR(I)=0.0
DO 110 J=1,N
L=L+1
110 XBAR(I)=XBAR(I)+X(L)
115 XBAR(I)=XBAR(I)/DF
C
DO 130 I=1,MM
130 STD(I)=0.0
C
C CALCULATE SUMS OF CROSS-PRODUCTS OF DEVIATIONS
C
L=((MM+1)*MM)/2
DO 150 I=1,L
150 D(I)=0.0
DO 170 K=1,N
L=0
DO 170 J=1,MM
L2=N*(J-1)+K
T2=X(L2)-XBAR(J)
STD(J)=STD(J)+T2
DO 170 I=1,J
L1=N*(I-1)+K
T1=X(L1)-XBAR(I)
L=L+1
170 D(L)=D(L)+T1*T2
L=0
DO 175 J=1,MM
DO 175 I=1,J
L=L+1
175 D(L)=D(L)-STD(I)*STD(J)/DF
L=0
DO 180 I=1,MM
L=L+I
SUMSQ(I)=D(L)
180 STD(I)= SQRT( ABS(D(L)))
C
C CALCULATE CORRELATION COEFFICIENTS
C
L=0
DO 190 J=1,MM
DO 190 I=1,J
L=L+1
190 D(L)=D(L)/(STD(I)*STD(J))
C
C CALCULATE STANDARD DEVIATIONS
C
DF=SQRT(DF-1.0)
DO 200 I=1,MM
200 STD(I)=STD(I)/DF
RETURN
END